The present invention relates to an image processing system and image processing method. More particularly, the present invention relates to the image processing of an enjoyable game where such a creatures as a live fish can be moved in a state close to nature in a three-dimensional virtual space so as to enjoy the creature just like an actual creature, and interaction between the movement of the creature and the player is implemented.
Along with the recent advancements of computer graphics technology, simulation systems and game machines are now being widely used in both businesses and homes. Recently in the field of game machines, an enjoyable game for enjoying such a creature as a live fish as an artificial pet on a monitor by moving the creature in a virtual game space is proposed.
A system for this enjoyable game generally comprises a CPU for graphics processing and a monitor. In the case of a fish, for example, position information on the movement of the fish in a tank set in a virtual game space is patterned in advance, and hundreds of patterns are determined. The CPU selects the position information of movement which is patterned according to the situation, calculates a position of the object simulating a fish based on this information, interpolates the movement by matrix (rotation, movement) based on the motion capture, and regenerates and displays the images. In the case of an enjoyable game simulating a plurality of fish moving in ocean current, the positions and movements of the plurality of fish are calculated and displayed based on specific information representing the environment, that is, ocean current.
In the case of the above mentioned conventional system for an enjoyable fish game, however, the position information of movement of the mobile object is merely patterned or the position information is merely calculated along with such specific information as ocean current, and in the case of movement regenerated by the conventional predetermined matrix, such as motion capture, sufficient naturalness to express movement of a live creature is lacking. In other words, the conventional method is limited to express movement of a live creature. The player merely looks at a monitor, which is an artificial tank, and there is no interaction seen in nature, such as a fish in a tank approaching or swimming away, depending on the action of the player.
With the foregoing in view, it is an object of the present invention to provide a realistic enjoyable game which can express the movement of such a creature as a fish realistically and naturally in a three-dimensional virtual space, and allows for the player to enjoy the game as if an actual creature exists.
Another object is to provide an enjoyable game which can express interaction which actually occurs in nature, between the mobile object simulating such a creature as a fish in a three-dimensional virtual space and the player, so that reality can be improved along with enhancing amusement.
To achieve the above objects, an image processing system of the present invention is for generating images to enjoy the movement of a mobile object simulating a living creature by moving the mobile object in a three-dimensional virtual space, comprising movement calculation means for calculating image data by simulating the movement of the mobile object with reference to the target point of the movement of the above mobile object, and display means for displaying the image data calculated by the movement calculation means.
For example, the mobile object is a fish in a virtual tank. In this case, it is preferable that the above display means is a monitor for displaying the above image data as images, and is comprised of a tank disposed on the front face of the monitor and a sensor disposed on the front face of the tank for detecting interactive instruction information from a player to the above mobile object. This sensor is, for example, a matrix sensor where infrared sensors, which the player can touch to input information, are arranged in the matrix.
Preferably the above movement calculation means has target point setting means for setting the above target point. This target point setting means has a table where discrete values are set in advance, for example, so as to select a discrete value from the table. In this case, it is preferable that the above target point setting means updates the target point by reselecting the discrete value in every predetermined number of frames of the display image of the monitor. The above target point setting means can be comprised of means for judging whether the player has input instruction information to the above sensor, and means for determining the target point based on the instruction information if it is judged that the player has input instruction information. The above instruction information is, for example, a signal for the player to call the fish or an operation for the player to feed the fish.
Preferably the above movement calculation means comprises fish body position calculation means for calculating the fish body position of the fish in the three-dimensional virtual space according to the target point set by the target point setting means, virtual bone position calculation means for calculating a plurality of virtual bone positions set in the fish using the above position sequentially from head to tail, vertex position calculation means for calculating each vertex position of the polygons simulating the above fish body using the above positions of the virtual bones, and image data generation means for generating the above image data according to the above respective vertex positions.
More preferably, the above target point setting means has target point correction means for correcting the set value of the target point according to the virtual size of the tank.
The above movement calculation means may further comprise atmosphere information calculation means for calculating atmosphere information of the environment to express the fish swimming in the virtual tank, and information generation means for generating information to add the atmosphere information to the image data of the fish. The above atmosphere information is, for example, waves in the tank and light waves moving in the water of the tank. In this case, the above virtual tank has a simple model of the waves, this simple model is a virtual model of a rectangular parallelepiped where three sides are predetermined values respectively, weight is a predetermined value, and each of the four corners of the base are supported with a spring respectively, and the above atmosphere information calculation means calculates the above atmosphere information where the movement of waves is simulated by changing the spring constants of the above springs at each interrupt.
An image processing method of the present invention, on the other hand, is a method for generating images to enjoy the movement of a mobile object simulating a living creature by moving the mobile object in a three-dimensional virtual space, wherein a target point of the movement of the mobile object is set, the movement of the mobile object is simulated with reference to the target point so as to calculate the image data, and the calculated image data is displayed.
Another aspect of the present invention is an image processing system for generating the moving state of a cubic mobile object having a longitudinal direction as images by moving the mobile object in a three-dimensional virtual space, comprising movement calculation means for simulating the movement of the above mobile object with reference to the target point of the movement of the mobile object so as to calculate image data, and display control for displaying the images calculated by the movement calculation means.
Another aspect of the present invention is wherein the above movement calculation means calculates the positions of the plurality of virtual joints and simulates the movement of the mobile object according to the positions of the virtual joints so as to calculate image data. Another aspect is wherein the above movement calculation means further comprises target point setting means for setting the above target point, mobile object position calculation means for calculating the position of the mobile object in the three-dimensional virtual space according to the set target pint, virtual joint position calculation means for calculating and determining the positions of the virtual joints of the mobile object using the above positions sequentially from the virtual joint at the moving direction side, vertex position calculation means for calculating the respective vertex positions of the polygons forming the mobile object using the positions of the above virtual joints, and image data generation means for generating the above image data according to the above respective vertexes.